/***************************************************************************
 *   Copyleft 2006-2007 by												   *
 *	 Iwanicki Krzysztof													   *
 *   <gamma.mini.pw.edu.pl/~iwanickik>			                           *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 ***************************************************************************/
#ifndef __TYPES_H__
#define __TYPES_H__

#include <windows.h>

/*
 *	Basic numeric types.
 */
typedef int cInt;
typedef unsigned int cUInt;
typedef short cShort;
typedef unsigned short cUShort;
typedef char cChar;
typedef unsigned char cUChar;
typedef bool cBool;
typedef void cVoid;
typedef float cFloat;
typedef double cDouble;
typedef long cLong;

/*
 *	Windows string types
 */
typedef TCHAR cTChar;
typedef TCHAR* pcTChar;
typedef WCHAR cWChar;
typedef WCHAR* pcWChar;

/*
 *	Windows types
 */
typedef POINT cPoint;
typedef RECT cRect;
typedef COLORREF cWinColor;
#define cNull NULL

/*
 *	Size-guaranted numeric types.
 */
typedef char cInt8;
typedef unsigned char cUInt8;
typedef short cInt16;
typedef unsigned short cUInt16;
typedef long cInt32;
typedef unsigned long cUInt32;
typedef __int64 cInt64;
typedef unsigned __int64 cUInt64;

#define MAX_BUF_SIZE				500
#define H_TXT_SPACER				5
#define V_TXT_SPACER				15
#define InstanceOf(type, obj)		dynamic_cast<type*>(obj)

#endif